table of contents
SIGSUSPEND(2) | Manuel du programmeur Linux | SIGSUSPEND(2) |
NOM¶
sigsuspend - Attendre un signal
SYNOPSIS¶
#include <signal.h>
int sigsuspend(const sigset_t *mask);
Exigences de macros de test de fonctionnalités pour la glibc (voir
feature_test_macros(7)) :
sigsuspend() : _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE
DESCRIPTION¶
L'appel sigsuspend() remplace temporairement le masque de signaux bloqués par celui fourni dans mask puis endort le processus jusqu'à arrivée d'un signal qui déclenche un gestionnaire de signal ou termine le processus.
Si le signal termine le processus, sigsuspend() ne retourne pas à l'appelant. Si le signal est intercepté, sigsuspend() retourne après l'exécution du gestionnaire, et le masque de signaux bloqués est restauré à sa valeur précédant l'appel à sigsuspend().
Il n'est pas possible de bloquer SIGKILL ou SIGSTOP ; spécifier ces signaux dans mask n'a aucun effet sur le masque de signaux du processus.
VALEUR RENVOYÉE¶
sigsuspend() renvoie toujours -1, et errno est normalement positionné à EINTR.
ERREURS¶
CONFORMITɶ
POSIX.1-2001.
NOTES¶
En général, sigsuspend() est utilisé conjointement avec sigprocmask(2) pour empêcher l'arrivée d'un signal pendant l'exécution d'une section de code critique. L'appelant commence par bloquer les signaux avec sigprocmask(2). Après la fin de la section critique, l'appelant attend les signaux avec sigsuspend() utilisé avec le masque renvoyé par sigprocmask(2) (dans l'argument oldset).
Voir sigsetops(3) pour les détails concernant les ensembles de signaux.
VOIR AUSSI¶
kill(2), pause(2), sigaction(2), signal(2), sigprocmask(2), sigwaitinfo(2), sigsetops(3), sigwait(3), signal(7)
COLOPHON¶
Cette page fait partie de la publication 3.23 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse <URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <URL:http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <URL:http://alioth.debian.org/projects/perkamon/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à <perkamon-l10n-fr@lists.alioth.debian.org>.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».
29 août 2004 | Linux |